# 在列表中找到两个数的和等于给出的数（返回找到的下标）

# 定义twosum函数，接收参数为数组及目标值
def twosum(alist, targetnum):
    # 使用enumerate函数获取列表的下标和值
    for i, j in enumerate(alist):
        # 控制targetnum - j的结果在列表中的搜索位置，从下标i的下一个位置开始搜索，用于去重
        k = i + 1
        # 检查targetnum - j的值是否在列表索引k之后出现
        if alist[k:].count(targetnum - j) > 0:
            # 如果targetnum - j的值存在于列表索引k之后，则统计出现次数，用于控制循环
            for n in range(alist[k:].count(targetnum - j)):
                # 使用index函数返回targetnum - j的索引值
                b = alist.index(targetnum - j, k)
                # 打印这两个数的索引下标
                print(i, b)
                # 重置搜索位置
                k = b + 1
# 给定列表a
a = [1, 3, 4, 6, -3, 4, 1, 3, 8, 9, 3, 0, -3, 6, 0, 2, 9]
# 调用函数
twosum(a, 6)



















